﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace esimerkki
{
    public class Henkilö: INotifyPropertyChanged
    {
        private string nimi;
        public string Nimi { get { return nimi; } set { nimi = value; Notify("Nimi"); } }
        private int ikä;
        public int Ikä { get { return ikä; } set { ikä = value; Notify("Ikä"); } }

        public Henkilö()
        {
            nimi = string.Empty;
        }
        public Henkilö(string oletusnimi, int ikä)
        {
            nimi = oletusnimi;
            this.Ikä = ikä;
        }
        public override string ToString()
        {
            return nimi + " " + this.Ikä + "v";
        }

        #region INotifyPropertyChanged metodit
        public event PropertyChangedEventHandler PropertyChanged;
        void Notify(string propName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this,new PropertyChangedEventArgs(propName));
            }
        }
        #endregion
    }
    public static class TestiHenkilöt
    {
        public static Henkilö[] AnnaKolmeHenkilöä()
        {
            Henkilö[] poppoo = new Henkilö[3];
            poppoo[0] = new Henkilö("Jaska",1);
            poppoo[1] = new Henkilö("Pekka",2);
            poppoo[2] = new Henkilö("Kalle",3);
            return poppoo;
        }
    }

}
